{
 "cells": [
  {
   "cell_type": "raw",
   "metadata": {},
   "source": [
    "异常检测实战task：\n",
    "1、基于 anomaly_data.csv数据，可视化数据分布情况、及其对应高斯分布的概率密度函数\n",
    "2、建立模型，实现异常数据点预测\n",
    "3、可视化异常检测处理结果\n",
    "4、修改概率分布阈值EllipticEnvelope(contamination=0.1)中的contamination，查看阈值改变对结果的影响"
   ]
  },
  {
   "cell_type": "raw",
   "metadata": {},
   "source": [
    "@Author  : Flare Zhao\n",
    "@Email: 454209979@qq.com\n",
    "@QQ讨论群：530533630  申请加群的验证信息为订单号（粘贴号码数字即可）"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>x1</th>\n",
       "      <th>x2</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>8.046815</td>\n",
       "      <td>9.741152</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>8.408520</td>\n",
       "      <td>8.763270</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>9.195915</td>\n",
       "      <td>10.853181</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>9.914701</td>\n",
       "      <td>11.174260</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>8.576700</td>\n",
       "      <td>9.042849</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "         x1         x2\n",
       "0  8.046815   9.741152\n",
       "1  8.408520   8.763270\n",
       "2  9.195915  10.853181\n",
       "3  9.914701  11.174260\n",
       "4  8.576700   9.042849"
      ]
     },
     "execution_count": 1,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#load the data\n",
    "import pandas as pd\n",
    "import numpy as np\n",
    "data = pd.read_csv('anomaly_data.csv')\n",
    "data.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 720x360 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "#visualize the data\n",
    "%matplotlib inline\n",
    "from matplotlib import pyplot as plt\n",
    "fig1 = plt.figure(figsize=(10,5))\n",
    "plt.scatter(data.loc[:,'x1'],data.loc[:,'x2'])\n",
    "plt.title('data')\n",
    "plt.xlabel('x1')\n",
    "plt.ylabel('x2')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "#define x1 and x2\n",
    "x1 = data.loc[:,'x1']\n",
    "x2 = data.loc[:,'x2']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 1440x360 with 2 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# coding:utf-8\n",
    "import matplotlib as mlp\n",
    "font2 = {'family' : 'SimHei',\n",
    "'weight' : 'normal',\n",
    "'size'   : 20,\n",
    "}\n",
    "mlp.rcParams['font.family'] = 'SimHei'\n",
    "mlp.rcParams['axes.unicode_minus'] = False\n",
    "fig2 = plt.figure(figsize=(20,5))\n",
    "plt.subplot(121)\n",
    "plt.hist(x1,bins=100)\n",
    "plt.title('$x_1$ 数据分布统计',font2)\n",
    "plt.xlabel('$x_1$',font2)\n",
    "plt.ylabel('出现次数',font2)\n",
    "plt.subplot(122)\n",
    "plt.hist(x2,bins=100)\n",
    "plt.title('x2 distribution')\n",
    "plt.xlabel('x2')\n",
    "plt.ylabel('counts')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "9.112225783931596 1.3559573758220915 9.997710507954398 1.30970711753864\n"
     ]
    }
   ],
   "source": [
    "#calculate the mean and sigma of x1 and x2\n",
    "x1_mean = x1.mean()\n",
    "x1_sigma = x1.std()\n",
    "x2_mean = x2.mean()\n",
    "x2_sigma = x2.std()\n",
    "print(x1_mean,x1_sigma,x2_mean,x2_sigma)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [],
   "source": [
    "#calculate the gaussian distribution p(x)\n",
    "from scipy.stats import norm\n",
    "x1_range = np.linspace(0,20,300)\n",
    "x1_normal = norm.pdf(x1_range,x1_mean,x1_sigma)\n",
    "x2_range = np.linspace(0,20,300)\n",
    "x2_normal = norm.pdf(x2_range,x2_mean,x2_sigma)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 1440x360 with 2 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "#visualize the p(x)\n",
    "fig2 = plt.figure(figsize=(20,5))\n",
    "plt.subplot(121)\n",
    "plt.plot(x1_range,x1_normal)\n",
    "plt.title('normal p(x1)')\n",
    "plt.subplot(122)\n",
    "plt.plot(x2_range,x2_normal)\n",
    "plt.title('normal p(x2)')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "EllipticEnvelope(assume_centered=False, contamination=0.03, random_state=None,\n",
       "                 store_precision=True, support_fraction=None)"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#establish the model and predict\n",
    "from sklearn.covariance import EllipticEnvelope\n",
    "ad_model = EllipticEnvelope(contamination=0.03)\n",
    "ad_model.fit(data)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      " 1    297\n",
      "-1     10\n",
      "dtype: int64\n"
     ]
    }
   ],
   "source": [
    "#make prediction\n",
    "y_predict = ad_model.predict(data)\n",
    "print(pd.value_counts(y_predict))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAmMAAAGQCAYAAADiJmdXAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8li6FKAAAgAElEQVR4nOy9eXwV1f3//zxZSAIkrIIggYiyJLQKSlWCCpWlylJbC+Ja4VtLrUsR1F+rZQeX9qOCBTdcwKXa9uNHa1lqAeuCBLVYgpWExQpJUAKyJkBCEu75/TH3TGYmc5cscAl5Px+PPJI7d5Zzzp1kXnmvSmuNIAiCIAiCEBviYj0AQRAEQRCEpoyIMUEQBEEQhBgiYkwQBEEQBCGGiBgTBEEQBEGIISLGBEEQBEEQYoiIMUEQBEEQhBgiYkwQmhhKqQSlVOcTeP4UpdRIpVS3E3WNxoxSKkkppTzbJiil7vVsO+PkjkwQhFghYkwQmh7dgK+VUn87QedvASwDpkXaUSmVoZTqp5TKUkr1jvIrKcI531RK/cpn+6NKqY1KqTbB1x2iGN9dSildy6+uYc6XGFyb33veGgv83LPtLaXUO8Fj/M51lVKqV/Dn3yqlqpRSLYJieJoRc0qphUqp15VSqVHMt41S6kul1IRI+wqC0HAkxHoAgiCcdIzFamW0BwQtOVlAGVDheCsBSAYKtdZHg9vKgt+/juLUvwJuB44BlRH2TQJaAucB/wmz3whgr8/2FsFj45RSdwHTlVI/0Vp/GOZcZk4/BjZHGN/PgSnAvlA7aK0rlVIfA1OVUp9rrV8JvlWBY12VUpcDA4Ffa61rrEvw87gXOFcpdSFwHIgHyoGbgd8CLwV3vwxoprUujTB+M45zgGaOa70LXBHhuG+11hHFrSAI/ogYE4TTnKCFxGlNujD4faNSqkuIwyq11rsdr5OAL8JcZgDwcfDn48HvRyKNTWs9BUvAREQpdRPwCtViLxTHcAtGg9kWAF4DrgNWK6Wu0VovC3EuM5cdWuuwYkwp9a3nOqGYCQwCnOLoeHBchoeANcD/+J1Aa62VUldjidLrg9fUwXP8BnhBa12olGoJZFLTEheKY47xOLetAO4JccwErLUUBKGOiBgThNOf14ChPtvDWYQ2ABc4XlcAV2FZXsqD2xTVlrHtSqkWuIWSU1yERCl1d/DHY1iCIhQXBb9XRThlIMS1zdjitNb7lFJDgbeAZ5RS52itj/kcY8hQSpWHeR/AxHgl4rHyKaXuBBZ49r/MEzqGUso7/4Bjn/u11o8E9zsfS9A9HZxXNtba/Sw4p0ql1BiszyoR+LvnOolAvNY60pzA+uzLQ4nRoAiVvnqCUA9EjAnC6U8ZlgUlO8r9l+K2pKG1DgDvhDpAKXUr8Jxn8/8opZyWnXVaa78xTAVSsIRDuId6yFixYLJAGtUiqLVSqi9wTGudH9xmXI6JAFrrMqXUj7Hctk5LkB9LgmOLwxKhcT5fRjW1Bwo9x5trDyU6962TVOBTxzkA+gB3YgnYM4COwe2/DI4lAWteJcHtH3mFH/AEcDeAUuovWG5cs36/VEr9EPgGa21SlVK9Q4zvDCT+WBDqhYgxQTj9qQICWuvD0eyslDpO5PgtL38D1mOJg+bBnx8EXg2+/xpwwO9ArXX7KMdl3JR+3Afc4Xh9c/DrXaqtgkaYfEcpNQArfsx8leK2BHoZrLXOjXKc/ZVSnbXWHzs2G7H3X6x4tuRozoUlUGv8ndZavwa8FkwW+ATYD7QCxgMdtdarlVLxWMLvL8CM4KHnAX8GbgDWOk65Izgm87l/C3yJFf/WHisOb0SYcfrF6AmCECUixgTh9CcAJIWxbHhpjjuYPAn4LpaFzWtBisOyNCkjVpRSnYLvfWlcW0FhcMh7IaVUBtAOS3REsk6Z8/pZyO4FJmMJz2+xROD/hyW8bsVKPjCibFXw+y7gcyxL4IYQ1zRjukAp9YXWOqyLVCkVB0wEfqqUytBaFwffauHY7X+A28Kdx8HTwAPBn5t7rtUf+CuWaFqBFWd2DXBf0AXbBstittPxOfQKHr5ea21b77TW/1/w/QSsGL43tNbPB+fzF+DPWms7Lkwp9QGwR2s9Nsp5CIIQBhFjgtA06A3kR9yrmg8cP5+JZUUxYiwNyyV3ECuDLxHYGbwGWBYasKw1hpaAn2XOZFOWEzkWDCxLTY1SD87YJ+OO01pXBF2Vz2G527YHd3kYeEJrvVsplQYcDrph/VgXvOYLwAs+rj4/NDDNIcTAcnO+iSUUjwbH84MI5/kHcFRrfTAY43U8OD+FZXW8D0tYXovlngR4BCtB4zGqLYF9HefsHBzfzgjXbq6Umg30CvH+ERzxgUGxnRKt9VUQBDcixgShabBRa9038m6glFqN42+D1rqAoDUqaDnZAyzVWt8S4hQmkH2PY1sqPtmV0WRTKqWaY7kQC7TWRdHMAWirlHo4OIbOWutdSqmzsERIqSNTdBqQrpSaoLWukaWptf5SKdURy8oULWVaa9dcg2U/jgbnA5awiiSIbEuh0yIXzKR8G0sMPQSkY5WjeADLCnoTVjmLZUAu0F8pFa+1Pg6chWUpC5WRaub5GFbc291YYvlKpdQ4785KqZs9r1NFkAlC7ZGgS0EQasMVWA/s5wCUUu18iokaa4oziL0lDjGmlEoNFieNxtTUEavMww+DxyplVbFv7t0xaAlLxooXGwF8orXeBaC1/hrLVZoZ3Pdc4C4sIRPSRaq1Pq613gtMAv4PSNNa7zVfQHesGLnrgtsilfRojiWgDkT4SsfjmnTwBTAP62/4T7BqnL2rta7UWpdgWS3/gRVHlwb0Dx7XF9joPVlwPW+n2nr6KtBHa70UaAu8iLVu5ut9LBepef1drASRSGVHBEHwQSxjgtA0qHPMmIefA3la64+CNay+ABZTHdcEVpB4idb6G7DjqFJwZwOuw8oIJDo9BsBCpdRCx+tPgEuC57gDyyJ0SfC9PwE3+rgfN2DFf8UHx30UGKu1ds03WKajAqjSWpsMz5bApVixZk6OY2UuVjjmmwQkBoWRl18DszzbngPOpmYJkqP48yxwo2fbJ461LAM6BI8vBsYqpdZjrY+rdplSqhlWQdsMLLfnMGCtw/XbFtjmLG2hlDoCHIpUe00QhOgQMSYITYP6xIwBoJRKB67GqmWF1vqwUuot4G6l1NMOF2JfIMdxqLGcOS1GN1JdMT4Q3CdUhfiOWJaYB7BqaCkscecUUN8Pfr8aS2TtDhEHtjZ4nqexKtyP0lrv8NnvA4LFcX3E4tEQAvJZpdSzjte7seLtCJ4nCUtw+dEMaz1ae7a3VlYf0Z0e9989wP3A5VhWrMHAJixL2WdYZUQOB6/7OvBTLPHaDnjPeYFgbN0HWOv2MO7kjbjgHHYHiwfHB99KAlKUUmc6zuOMkRMEoRaIGBOEpkGdY8YcPIgV5/R6cL84LAvUL4HZwIRgfNUALOuPoWXwuy3GtNa2q0wpNRO4FThfa12jlZBSyoiQXWEsMbcY96BP4VQn72C1Cvo5MENrvSLEfnOwMiCrqC4gOw/LKuatZp+BZW16Eks0xmOJFa/rsxuRBXGo90djxYABEEw+UFhu1vVArtb6UDCuqwtu69d8rJpkL2LdB5/6nP+Xwbpr3s89E+vz24RV6yzD8/61ZkjBuDQp/ioIdUDEmCAIEVFKTcGKw8oHlgeLrGZQXWbip0qph7AsMAB/dBxeQ4x5eB8rkP5J6thWJ4o4LcPVwe+lwO/MRqVUsjMjU2v9tvMgpVRPLJEzT2v9huc9I3LXe9/zYCr8/1xr/bznHG8A53oFs1LqUqx4OT93ZUesshZDgP1Kqc+xAvTXYlnHzFwKlVJLscpeLPYbWJiA/ouwROUXwTHM0lrP9IxxPPCUCDFBqDsSwC8ITYMkpVTvaL7wDxo3Vp4ErODwPwG3AP2wLGEHgCux6n294ulrGVaMaa3fx4qBGqeUGlTPefqilGofdKneiyVWUgkWiVVKdQC2Bqvx+x0bh+XWPELoorPREFV7KO/lQx2rtS7WWt+kte6EJch6YCUvDAS2KaUuAlBKXYdlWasAfqOU6lOL6w8GcoLZoOHEVl3mJghCELGMCcLpTxy1jxlb43n9NPB/WmvfcgxKqe9iVbsvwe2iBKvMAoSowB9kNlYVdz8X2veC36N94DdzjKslVhHWqVhux9u01s8qpT4E5gS/Z2JlLmZhxaThOL4flgXtCuAurfW31MTEUUX65zY+wvvO616J9ff5+uAm33IRSqkULIvlLGArVsZpMpZbcrdSahGWS/ZlLNflGuB9pdQNWutVPqdMCX4PKKVaYWVqznG8394nEaQTgiDUCxFjgnD6k0TtY8Zc5SqC2YahhFh7rHZIPYEfaK2/DWbo/RWrbERPrIy+f4W6ZjD4e7rnvFOxREYc1a6yUGNOwIplaxMcu4k9exCrsGwOcKfW2lTavw5L+H0cPPdxqls3oZS6GHge+A6We/E2rbUzON+J+Ttaoxith2ZYQf1+LscWuMXcrVhCqBLL5ftv585KqWysKv6jg2P/PZYLtTL4/jdYrspmwXk/Gdw+DOuzWqmUmqq1fjC4PRFLdH43eIkCYCbWvWOsgfFY1kRn2ylDbdtnCYLgQMSYIJz+hGyw3UDHtMcSEpO11u+CnaH3MZY4egx41hmTFSWvYMUsfYLVnmdLqB211lXBemeXYAmsl4Jv3QO8p7X+q2f/b5RSQ7AEY2/gkWBxW8OnWOJzMzDd0WzcD2NNCttvUmu9FUd2pYc03C2T7sXKbMwPugi9fIGVGfkAllvYaznbCLyN1QngG8cY1iulzsNKYnjMsb1SKZWF5aKeAvwTK3lhp+P4ZELHjC12FJYVBKGWKIm5FAShviilmnlrdTUGgha1jsGCsN734sK0SWpyKKXaAuUhxKEgCPVAxJggCIIgCEIMkWxKQRAEQRCEGNJoY8bat2+vMzIyYj0MQRAEQRCEqPjss8/2aq3P8G5vtGIsIyOD9evXx3oYgiAIgiAIUaGUKvDbLm5KQRAEQRCEGCJiTBAEQRAEIYaIGBMEQRAEQYghjTZmTBAEQRCE+lNZWcnOnTspL69tXWYhFMnJyXTp0oXExEiNOSxEjAmCIAhCE2bnzp2kpqaSkZGBUiryAUJYtNbs27ePnTt3cvbZZ0d1jLgpBUEQBKEJU15eTrt27USINRBKKdq1a1crS6OIMUEQBEFo4ogQa1hqu54ixgRBEARBOGU5fvw4p3vrRokZEwRBEAQhprzwwgs8+uijnHXWWYDlOk1OTgYsMfZ///d/zJ8/n+9///usXr2a1NRU7rjjDsaMGcOKFSuIj4+3z1VVVcW1117Lm2++yQ033MA333xjv9eyZUuWLVt2cicXBSLGBEEQBEGIGq21yw3nfV0X4uPjmTRpErfddhsAF198MWvWrLHPe/jwYdLS0li3bh179uyhuLiYgoICWrRoQXx8PIFAALDcgwkJCVRUVABWpuj7779vX2fMmDH1GueJQsSYIAiCIAhRMW/VVkrKK5k+KgulFFprZi/LIy05kcnDetb7/Pfeey8ff/wxBw8e5Pvf/z7Hjh1j7NixjBs3jn379rFw4UL69u1LdnY2Cxcu5Msvv+Tyyy/nyy+/5K9//StFRUUsWrSI3NxcxowZQ1FREYMHD+b48eMopdi5c2cDrELDI2JMEARBEISIaK0pKa9k8dodAEwflcXsZXksXruDCQMzGsRCdvDgQX7605/SoUMHADZs2EBJSQnx8fHs2LGDe+65hy1btlBcXMznn3/Ogw8+yLnnnsuzzz7LRRddxEUXXcRPfvITRo0axe23386iRYv405/+xOuvvw7A9ddfX6/xnShEjAmCIAiCEBGlFNNHZQGweO0OW5RNGJhhW8rqSlVVFYmJiWitadu2Le3btwcgLS2N0tJSqqqqmDFjBq+88gpTpkwhMTGRBx54gM8++4xmzZrRvXt3+1wffPABa9as4Uc/+hGbN29m6NCh7NmzB4Bnn32WG264gYkTJ9Z5rCcCEWOCIAiCIESFEWRGiAH1FmIAxcXF9OnThx49evDMM8/w9ddfExcXR6dOnbj++uspKChg6tSpbNu2jY0bN5Kbm8v27du55pprALjqqqsAePnll3njjTe47LLLuPXWW/nggw945ZVXeOONNwCJGRMEQRAEoZFjYsSczF6WV29BtnHjRsaOHct5551Hv3792L59O8nJySilGDduHMnJyVx77bV8/PHHXHXVVfTp04fExEQuuOAC/vrXvzJ9+nQAxo4dy80338zo0aMpLCykffv2nHPOOaSnpwMwadIkvv7667ovwAlC6owJgiAIghARI8RMjNj2h0cwYWAGi9fuYPayvDrXAjt8+DBbtmyhRYsWjB8/ns6dO9vZkampqVxzzTWUlZVx2223MWTIEObOncsXX3zB9u3b2bRpE0lJSfz73/8GICUlBaUUSinee+89rrjiCr73ve/x/vvv8/7773PZZZc12Ho0JGIZEwRBEAQhIkop0pITXTFiJoYsLTmxzpaxDz/8kBtuuIH//Oc/PPnkk5SWlvLoo4/y6quvkp2dTevWrdm/fz/33HMP3bt35+OPPyYvL48JEybw6KOP0rFjR8aMGcNrr73GOeecw69//WuGDx/Ohx9+yDPPPMOkSZMYPHgwAFu2bGmo5WhQVGOtatu/f3+9fv36WA9DEARBEBo1+fn5ZGZmRr3/iagzFg1VVVUkJCTY1wwEAnax13BjqKysJDEx8YSPz4vfuiqlPtNa9/fuK25KQRAEQRCixit6TlZfSyPEzDWdVffDjSEWQqy2iBgTBEEQBEGIIRIzJgiCIAhCdGzbBitWQEkJpKXBiBHQo0esR9XoiallTCnVUSm1xmfbhliNSRAEQRAED599Bj/4AQwcCPn5cOyY9X3gQGv7Z5816OX84tlLS0tD7v/VV19x4MCBBh3DySRmYkwp1QZ4CWjheetRIOXkj0gQBEEQhBq8+y5ceSWMHQuFhfDMMzB3rvW9sNDafuWV8M9/1vkSu3fv5rrrrrNfv/TSS9x6663268OHDzN06FDef/99xo4dy/jx4xk3bhwbNli2mxdffNH+edWqVXTt2pXBgwe7vtq2bVtD5N13332Ul5fz2muvsWDBAgKBAD//+c85fvy47zhvvPFGPv300zrPMxSxdFMeB8YBb5sNSqkrgCNAcawGJQiCIAhCkG++geuvhzfegEGDar6fnAy33mq5KseOhdxc6Ny5VpcoKyvj4MGDKKX49ttvadu2LX/84x/p1asXH3zwAYMGDaJly5asWLGCAwcOEB8fz4MPPsgf//hH9u7dy/Dhw8nOziYuzrIvJSYmcsMNN/DII4+4rjNo0CA70P/IkSO89957HDhwgCeeeIIDBw5QWlrKnDlzKCkp4e9//zsXX3wxZ5xxhusciYmJ3HXXXaSmpgJQUVHBhx9+WKv5+hEzMaa1LoHqDAilVDNgGvBj4K9+xyilJgITAbp27XpSxikIgiAITZZFiyyR5SfEnAwaBGPGwHPPwYwZtbpEfn4+v/vd7/jPf/7DggULKC8v5+abb2bMmDEMHz6cG264ge985zscOXLEbnt022238d3vfpfExESaNWtW45xvvPEGn3/+uV0CQ2tNcnKyXR5j9+7dPP744/zqV7+qcez555/P66+/TkpKCkOGDKnx/pNPPkn//jWqU9SLUymA/zfAU1rrg6FSVLXWi4BFYNUZO4ljEwRBEISmxfHjlrhauTK6/W+/3YofmzoVHGUnInHBBRcwcOBAUlJSaNeuHStXriQnJ4cXX3yRq666ivfee4+zzjqLhQsXcu655wIQHx9PWlqa7/natGlDp06dGDZsWI2SF9dccw1vv/02iYmJDBo0iKeffrpGe6S4uDjuu+8++/xFRUWcd955nH/++QDce++9AGzevJl//OMf9vb6cCqJsaHAFUqpO4C+Sqnntda3RjpIEARBEIQTwL59UFEBffpEt/93vmMF9u/fDx73XiT+8pe/sG/fPgYPHsyCBQsoLi4mISGBDh060KVLF66++mqGDx9OQkICWmsqKyvtn72cf/75rFmzhsmTJ/PYY48RFxfHww8/zI033sjdd98NQHp6OjNmzOCqq65i5syZruMXLlzIzTffbL9OSkriwgsvZPXq1a79xo8f72uVqwunjBjTWl9uflZKvS9CTBAEQRBiSFVVrSxcACQkQGVlrQ5544036NevH8XFxXz55ZcsWLCARx99lBdffJFLLrmE/fv3A/D222+zdetWEhISKC0tJTU11RZmhldffZXnn3+e5ORkPvnkE/Lz8wGrEfk777wDwJQpU7j66qsBmDNnDnv37uWjjz6ipKSEESNGMGfOHNf4Kioq+Oyzz+yWSobNmzczefLkWs01FDEXY1rrwdFsEwRBEAThJNKuHZSVQXExnHlm5P2Li63927Wr1WWUUkyaNIm5c+cyd+5c0tLS2L59O5WVlbzzzjs888wzBAIB/vCHP/DGG2+Qm5vLm2++yfbt2/n5z39OIBDgo48+AuCmm27ipptuoqCggN/85je8/vrrAFx33XU88sgjZGRk2NedNm0ay5cvp23btuzZs4fKykry8vKoqqqiTZs2vPXWWwB8+umnbNiwgaNHj5KVlUV+fj6dOnUiISHBFnv1RSrwC4IgCIJQk6QkGDcOXnghuv2ffx6uu846rhb85Cc/oXXr1oDVf/LGG2/ksssu45FHHqF58+a0bduW5557juzsbFJTU5k+fTozZ84kOTmZZ555hl69erF582a7PVJBQQETJkzgzjvvdF0nEAi4XsfHx/P73/+e1atXM336dCZNmsTq1av53//9X7uFUnl5OdOmTaNt27bMnDmTf/3rX+Tm5vLggw9y/Phxbr311gapbxZzy5ggCIIgCKcod9xh1RC75Rbo0iX0fkVF8OSTEHQF1pbKykqOHTvG448/zkpPwsCwYcN4+OGHGTduHHv27GHGjBl06dKFBx54gF27drF7924uuOACLrroInbv3s1VV13F7373OwYOHGifo6qqioqKCtd5e/ToQYcOHez3KysrWbNmDTNmzGDKlCmAlel5xx13kJaWxh133MGhQ4cYN24cW7dupVWrVtx333188cUXXHbZZXWat0H5Bb81Bvr376/Xr18f62EIgiAIQqMmPz+fzMzM0Ds89hg8+yz87W/Qu7ffCeDqq+EXv4B77jlxA21k+K2rUuozrXWNuhhiGRMEQRAEITT33AOpqXDppXDJJVYR2PbtYe9eeO01+OQTeOghmDgx1iNttIgYEwRBEIQmjta6Rk0uFxMnws03w5//DG++Wd0ofOxYqzp/inQxdFJbr6OIMUEQBEFowiQnJ7Nv3z7atWsXXpClpMD48daXEBKtNfv27SM5OTnqY0SMCYIgCEITpkuXLuzcuZNvv/021kM5bUhOTqZLuIQHDyLGBEEQBKEJk5iYyNlnnx3rYTRppM6YIAiCIAhCDBExJgiCIAiCEENEjAmCIAiCIMQQEWOCIAiCIAgxRMSYIAiCIAhCDBExJgiCIAiCEENEjAmC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\n",
      "text/plain": [
       "<Figure size 720x432 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "#visualize the result\n",
    "fig4 = plt.figure(figsize=(10,6))\n",
    "orginal_data=plt.scatter(data.loc[:,'x1'],data.loc[:,'x2'],marker='x')\n",
    "anomaly_data=plt.scatter(data.loc[:,'x1'][y_predict==-1],data.loc[:,'x2'][y_predict==-1],marker='o',facecolor='none',edgecolor='red',s=150)\n",
    "\n",
    "plt.title('自动寻找异常数据',font2)\n",
    "plt.xlabel('$x_1$',font2)\n",
    "plt.ylabel('$x_2$',font2)\n",
    "plt.legend((orginal_data,anomaly_data),('原数据','检测异常点'))\n",
    "plt.axis([4.5,15,2.5,15])\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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WbPa7bdz505dfvnlGj58uBpD1/bhhx+2O0dpaan+8pe/6E9/+pOmTZumxx9/POp+PYHKoZ6yc6dUXS397GeSpJXrt2t5RY2stZKCQdHyihqtXL892HBr3Tqpvr4vRwwAAAAAQPfKyupYK5V9+zoWJoXU19dr0aJFqqysVF1dnfbt26d33nlHL774oi655BI999xzevjhh3XGGWfohRde0JQpU/TrX/9ahw4d0h/+8Af97W9/0+9//3tt3rxZH3zwge6++24988wzKi8vj3nOK664Qo8//riOHDmi2traqMGQJN1zzz268cYbtW7dOjU1NUlS1HOUlZWppKREq1at0uOPPx5zv55AONRTHntM+v73peHDZa1VY0uryqrq3IBoeUWNyqrq1NjSKjtyZLBz++9+19ejBgAAAACg+1xwQXDp+mRbqfz2t9LFF3f4NKmpqXrkkUd0+eWX68CBAzp8+LCuuOIKSVJOTo6OHDmimpoanX322ZKkWbNmqba2VuPGjdOIESM0adIkDRkyRNZapaSk6O6779ZVV13lhjnRfO1rX9OmTZu0Zs0aXXTRRTH327lzp6ZPn66UlBTNmDFDkpI+R7L7dRXhUE/ZtUv60pckScYYLS3KV2lhrsqq6nTyTWtVVlWn0sJcLS3KD041+9KXgq8BAAAAAGCwGDNG+p//U/rFLxLvW1cX7Dd05ZUdPs2jjz6qSy+9VE888YROOOEESXJ/dUybNk0vv/yyJOnll1/WtGnToh7r3nvv1U033aRHHnkkrDVMpEAgoPnz5+unP/2pvve978XcLycnR9u2bdOxY8f0xhtvxD3HsGHDdOjQIUnBGUfJjqWrCId6ypAh0tGj7qYTEHm5wZAU3DeFFlAAAAAAgEHmttukf/u3+H12P/xQWrAguG9WVodPMX/+fN11110677zzJAWnY0W66qqrtG3bNp1zzjnasWOHSkpKoh6rqKhI11xzjS666CINHz486rEcl112mXJycjRp0qSY+9x44426/fbbNX/+fKWlpcU9xze/+U3dfffdmjVrlt59990OjaUrjNMDp7+YOXOm3bJlS18Po+vuv1/avFkKzRP0TiVzhFUOXXyxVFQkXXVVHw0YAAAAAICOq62tVV5eXvyd3nhDWrhQOvts6dprg6t6GyN98IH08MPS//k/0uLFbt/egWDDhg268cYbdccd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\n",
      "text/plain": [
       "<Figure size 1440x720 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "ad_model = EllipticEnvelope(contamination=0.02)\n",
    "ad_model.fit(data)\n",
    "y_predict = ad_model.predict(data)\n",
    "#visualize the result\n",
    "fig5 = plt.figure(figsize=(20,10))\n",
    "orginal_data=plt.scatter(data.loc[:,'x1'],data.loc[:,'x2'],marker='x')\n",
    "anomaly_data=plt.scatter(data.loc[:,'x1'][y_predict==-1],data.loc[:,'x2'][y_predict==-1],marker='o',facecolor='none',edgecolor='red',s=150)\n",
    "\n",
    "plt.title('anomaly detection result')\n",
    "plt.xlabel('x1')\n",
    "plt.ylabel('x2')\n",
    "plt.legend((orginal_data,anomaly_data),('original_data','anomaly_data'))\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "raw",
   "metadata": {},
   "source": [
    "异常检测实战summary：\n",
    "1、通过计算数据各维度对应的高斯分布概率密度函数，可用于寻找到数据中的异常点；\n",
    "2、通过修改概率密度阈值contamination，可调整异常点检测的灵敏度;\n",
    "3、核心算法参考链接：https://scikit-learn.org/stable/modules/generated/sklearn.covariance.EllipticEnvelope.html?highlight=ellipticenvelope"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.10"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
